﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BI.CF.IDAL;
using BI.CF.Model;
using System.Reflection;
namespace BI.CF.Factory
{
    public abstract class CF_Factory
    {
        public static CF_Factory DataBaseType()
        {
            string className = "SqlServer";
            //string className = "Oracle";
            CF_Factory factory = (CF_Factory)Assembly.Load("BI.CF.Factory").CreateInstance("BI.CF.Factory." + className);
            return factory;
        }
        /// <summary>
        /// 广告显示
        /// </summary>
        /// <returns></returns>
        public abstract BulletinIDAL BulletinFactry();

        //将IDAL定义为虚方法
        public abstract MyAccountIDAL MemPropertyFAC();

        /// <summary>
        /// 实名审核抽象类
        /// </summary>
        /// <returns></returns>
        public abstract Autonym_IDAL IAutonym_Server();
        /// <summary>
        /// 信用标
        /// </summary>
        /// <returns></returns>
        public abstract MemLoanIDAL MemLoanFactry();
        /// <summary>
        /// 抵押资产抽象类
        /// </summary>
        /// <returns></returns>
        public abstract Record_IDAL IRecord_Server();
        /// <summary>
        /// 用户抽象类
        /// </summary>
        /// <returns></returns>
        public abstract UsersIDAL UsersFactry();
        /// <summary>
        /// 平台收益抽象类
        /// </summary>
        /// <returns></returns>
        public abstract PRDetailsIDAL PRDetailsFactry();


        /// <summary>
        /// 登陆记录 抽象方法
        /// </summary>
        /// <returns></returns>
        public abstract LoginRecordIDAL LoginRecordSQL();


        /// <summary>
        /// 用户信息 抽象方法
        /// </summary>
        /// <returns></returns>
        public abstract UserIDAL UserrsSQL();

        /// <summary>
        /// 投资抽象类
        /// </summary>
        /// <returns></returns>
        public abstract MemInvest_IDAL IMemInvest_Server();

        /// <summary>
        /// 投资收益类
        /// </summary>
        /// <returns></returns>
        public abstract MemIncome_IDAL IMemIncome_Server();
        /// <summary>
        /// 还款明细抽象方法
        /// </summary>
        /// <returns></returns>
        public abstract RepayDetailedIDAL RepayDetailedSQL();
        /// <summary>
        /// 我要投资抽象类
        /// </summary>
        /// <returns></returns>
        public abstract InvestIDAL InvestIDAL_Factory();
        /// <summary>
        /// 投资管理
        /// </summary>
        /// <returns></returns>
        public abstract InvestGuanLi_IDAL InvestGuanLiIDAL_Factory();

		/// <summary>
        /// 后台人员
        /// </summary>
        /// <returns></returns>
        public abstract Admin_Idal Admin_Factory();



    }
}
